var galeria_h=function($){
	$.fn.galeria=function(opciones){
		galeria_c.ddbb.push(this);
		this.payID=galeria_c.ddbb.length-1;
		this.actual=galeria_c.actual;
		
		this.init=galeria_c.init;
		this.mainloop=galeria_c.mainloop;
		this.set=galeria_c.set;
		this.loopfaces=galeria_c.loopfaces;
		this.drawinfo=galeria_c.drawinfo;
		this.nl2br=galeria_c.nl2br;
		this.productos_interval=galeria_c.productos_interval;
		
		this.opciones=opciones;
		this.init($,opciones);
	}
}
var galeria_c={
	ddbb:[],
	actual:0,
	productos_interval:null,
	loopfaces:[
			{
				top:"-1000px",
				left:"-1000px"
			},
			{
				top:"-1000px",
				left:"0"
			},
			{
				top:"0",
				left:"-1000px"
			},
			{
				top:"0",
				left:"0"
			}
		],
	init:function($,opciones){
		$("#_mainview").mainview({});
		this.imagenes=$(this).find(".imagen").get();
		this.opciones=opciones;
		this.set(0);
		
		//alert("url("+this.imagenes[0].attr("src")+")");
		
	},
	mainloop:function(imagen){
		var payID=this.payID;
		if(!imagen){
			this.loopface=0;
			var imagen=$(this).find(".main>img").get()[0];
			var w=$(window).width();
			var h=$(window).height();
			this.loopfaces=[
						{
							top:"-"+h+"px",
							left:"-"+w+"px"
						},
						{
							top:"-"+h+"px",
							left:"0"
						},
						{
							top:"0",
							left:"-"+w+"px"
						},
						{
							top:"0",
							left:"0"
						}
					]
		}
		else{
			this.loopface++;
			if(this.loopface>3){
				this.loopface=0;
			}
		}
		$(imagen).stop();
		$(imagen).animate(
			this.loopfaces[this.loopface],
			30000,
			function(){
				galeria_c.ddbb[payID].mainloop(this);
			}
			);
	},
	set:function(id){
		var imagen=this.opciones.info[id];
		$(this.imagenes[this.actual]).stop();
		$(this).empty();
		$(this).append("<div class='main'></div>");
		$(this).find(".main").css({
				width:$(window).width()+"px",
				height:$(window).height()+"px",
				background:"black",
				overflow:"hidden",
				position:"absolute"
				});
		$(this).find(".main").append(this.imagenes[id]);
		$(this.imagenes[id]).css({
			width:$(window).width()*1.5+"px",
			position:"absolute",
			left:0,
			top:0
		});
		this.actual=id;
		this.mainloop();
		this.drawinfo(id);
		mainview_c.ddbb[0].setImagen(this.opciones.info[id]);
	},
	drawinfo:function(id){
		var info=this.opciones.info[id];
		$(this.opciones.infowindow).find(".titulo").text(info.nombre);
		$(this.opciones.infowindow).find(".descripcion").append(this.nl2br(info.descripcion));
		$(this.opciones.infowindow).find(".thumbnail").css("background","black url('?app=cache&width=65&height=0&path="+info.path+"') center center no-repeat");
		for(var i=0;i<info.productos.length;i++){
			$(this.opciones.infowindow).find(".productos").append('<div class="producto producto_'+info.productos[i].id+'"><img class="foto" src="?app=cache&width=65&height=0&path='+info.productos[i].foto+'"><div class="datos"><div class="nombre">'+info.productos[i].nombre+'</div><div class="descripcion">'+info.productos[i].descripcion+'</div><div class="precio">MXN$ '+info.productos[i].precio+'</div></div></div>');
			}
		if(this.productos_interval){
			clearInterval(this.productos_interval);
		}
		var payID=this.payID;
		$(this.opciones.infowindow).find(".productos").mouseover(
			function(){
				$(this).addClass("over");
			}
		);
		$(this.opciones.infowindow).find(".productos").mouseout(
			function(){
				$(this).removeClass("over");
			}
		);
		this.productos_interval=setInterval(function(){
			if($(galeria_c.ddbb[payID].opciones.infowindow).find(".productos").hasClass("over")){
				return false;
			}
			var lastTop=$(galeria_c.ddbb[payID].opciones.infowindow).find(".productos_container").scrollTop();
			$(galeria_c.ddbb[payID].opciones.infowindow).find(".productos_container").animate({
				"scrollTop":$(galeria_c.ddbb[payID].opciones.infowindow).find(".productos_container").scrollTop()+80
				
				},1000,
				function(){
					if(lastTop==$(galeria_c.ddbb[payID].opciones.infowindow).find(".productos_container").scrollTop()){
						$(galeria_c.ddbb[payID].opciones.infowindow).find(".productos_container").scrollTop(0);
					}
				});
		},5000);
	},
	
 	nl2br:function (str){
	   str=str.replace(/\n/gi,"<br />");
	   return str;
	 }	
}

galeria_h(jQuery);
